//
//  JMXMessage.h
//  JMXChatKit
//
//  Created by JMX on 2020/6/24.
//  Copyright © 2020 Uniauto. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "JMXChatDefines.h"
#import "JMXMessageBody.h"

NS_ASSUME_NONNULL_BEGIN

@protocol JMXMessage <NSObject>

/// 消息ID
@property (nonatomic, copy) NSString *messageId;
/// 消息本地ID
@property (nonatomic, copy) NSString *clientId;
/// 消息所属会话ID
@property (nonatomic, copy) NSString *conversationId;
/// 消息服务端ID
@property (nonatomic, copy) NSString *serverId;
/// 聊天类型
@property (nonatomic, assign) JMXChatType chatType;
/// 消息类型
@property (nonatomic, assign) JMXMessageType messageType;
/// 消息方向
@property (nonatomic, assign) JMXMessageDirection direction;
/// 消息安全类型
@property (nonatomic, assign) JMXMessageSecurityType securityType;
/// 消息状态
@property (nonatomic, assign) JMXMessageStatus messageStatus;
/// 消息内容
@property (nonatomic, strong) id<JMXMessageBody> messageBody;
/// 消息发送方
@property (nonatomic, copy) NSString *from;
/// 消息接收方
@property (nonatomic, copy) NSString *to;
/// 消息发送时间
@property (nonatomic, assign) long long timestamp;

@property (nonatomic, assign) BOOL isReadByAllMembers;

@end

NS_ASSUME_NONNULL_END
